import { ToStringTypes } from '@/types/utils';
// 检测变量类型
export function isType(type: ToStringTypes) {
  return function (value: unknown): boolean {
    return Object.prototype.toString.call(value) === `[object ${type}]`;
  };
}
export const typeValidate = {
  isNumber: isType(ToStringTypes.Number),
  isString: isType(ToStringTypes.String),
  isBoolean: isType(ToStringTypes.Boolean),
  isNull: isType(ToStringTypes.Null),
  isUndefined: isType(ToStringTypes.Undefined),
  isSymbol: isType(ToStringTypes.Symbol),
  isFunction: isType(ToStringTypes.Function),
  isObject: isType(ToStringTypes.Object),
  isArray: isType(ToStringTypes.Array),
  isProcess: isType(ToStringTypes.process),
  isWindow: isType(ToStringTypes.Window),
  isError: isType(ToStringTypes.Error),
  isWarn: isType(ToStringTypes.Warn),
  isEvent: isType(ToStringTypes.Event),
};
